pythonforlist
⑴ python中列表的遍历
没有优雅的方法解决,只有不要使用print语句,如楼上所说,或者使用python3.X中的print函数(通过
from __future__ import print_function使能print函数形式)
其实,在python2.X手册中对print语句描述说:(python2.7.2官方帮助文档)
一个空格会被自动打印在每个对象前,
除非:(1)还没有输出写到标准输出中
(2)当最后一个写到标准输出的是一个除了空格‘ ’的空白字符
(3)当最后写到标准输出的不是一个print语句。
所以在apple、banana等每个字符前都有一个空格。(apple的a前也有空格呢!)
一个好的解决办法是使用python3.X中的print函数。
通过在文件前面加上:
from __future__ import print_function
就可以使用print的函数形式了。
print函数的语法:
print([object, ...][, sep=' '][, end='\n'][, file=sys.stdout])
默认下,若没有指定sep,则使用空格。没指定end,则使用换行符。没指定输出文件则输出到标准输出。
例如:print('hello','world',sep='-',end='#')输出:
hello-world#
所以,你的程序可改为:
from __future__ import print_function
list = ["apple", "banana", "grape", "orange"]
for x in range(len(list)):
print('list[%d]:'%x,end='')
for y in range(len(list[x])):
print(list[x][y],sep='',end='')
print('')
至于: 'list[%d]:'%x 这里的百分号,是一个对字符串的操作符。百分号使得百分号前面的字符串中
的%d被百分号后的x的值替换掉。
⑵ python list遍历问题,跪求大神指导
list=[('1abc','11112sfgsd'),('g5sd','11112rtrt'),
('y234','eare4543'),('wetw','eareewtwe'),('ryhe','eare'),
('8989','5633tewtt'),('a34f','ertyey')]
list2=[]
#找键值插入
foreinlist:
head=e[1].split('')[0]#提取键值
found=False
idx=0
forrinlist2:#看键值是否存在
ifr[0]==head:
found=True;
break
idx=idx+1
iffound:
list2[idx][1].append(e)#存在直接追加
else:
list2.append([head,[e]])#不存在创建新list
#Tuple化
list3=[]
foreinlist2:
list3.append((e[0],tuple(e[1])))
list3=tuple(list3)
print(list3)
运行结果:
⑶ python语法问题:关于在list中使用for循环
Python 的强大特性之一是其对 list 的解析,它提供一种紧凑的方法,可以通过对 list 中的每个元素应用一个函数,从而将一个 list 映射为另一个 list。
例 3.24. List 解析介绍
>>> li = [1, 9, 8, 4]
>>> [elem*2 for elem in li]
[2, 18, 16, 8]
>>> li
[1, 9, 8, 4]
>>> li = [elem*2 for elem in li]
>>> li
[2, 18, 16, 8]
为了便于理解它,让我们从右向左看。li 是一个将要映射的 list。Python 循环遍历 li 中的每个元素。对每个元素均执行如下操作:首先临时将其值赋给变量 elem,然后 Python 应用函数 elem*2 进行计算,最后将计算结果追加到要返回的 list 中。
需要注意是,对 list 的解析并不改变原始的 list。
将一个 list 的解析结果赋值给对其映射的变量是安全的。不用担心存在竞争情况或任何古怪事情的发生。Python 会在内存中创建新的 list,当对 list 的解析完成时,Python 将结果赋给变量。
From <dive into python>
⑷ python中,如何在每一次for循环时都建一个新的列表
这样:
list=[]
>>>foriinrange(5):
...list.append([i])
...
>>>list
[[0],[1],[2],[3],[4]]
>>>list[0]
[0]
>>>list[1]
[1]
(4)pythonforlist扩展阅读:
注意事项
Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。
语法:
for循环的语法格式如下:
for iterating_var in sequence:
statements(s)
例如:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
for letter in 'Python': # 第一个实例
print '当前字母 :', letter
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: # 第二个实例
print '当前水果 :', fruit
print "Good bye!"
⑸ python for循环的问题
else没执行到是因为for b in list1使得b不再是150,而是list1中的每个值,自然不会执行else了。
你的Python程序我帮你改完了,你看看吧.(改动的地方见注释)
⑹ python 怎么判断list里元素类型
可以通过tpye()方法来判断list里的元素类型。代码举例如下:
testList = [1, 2, 'a', [1, 2]]
for listElement in testList:
print '%s 的类型是:%s' % (listElement, type(listElement))
其中,for in语句用来遍历testList这个list里的元素,然后分别打印出元素对应的类型,运行程序,输出结果为:
1 的类型是:<type 'int'>
2 的类型是:<type 'int'>
a 的类型是:<type 'str'>
[1, 2] 的类型是:<type 'list'>
(6)pythonforlist扩展阅读
python语言中type()函数介绍:
1、type()函数的作用
在python中type()是即简单又实用的一种对象数据类型查询方法。它是一个内建的函数,调用它就能够得到一个反回值,从而知道想要查询的对像类型信息。
2、type()函数使用方法:type(对象)
type()是接收一个对象当做参考,之后反回对象的相应类型。例如:
type(1)
<type 'int'> #整型
type("iplaypython")
<type 'str'> #字符串
⑺ python中关于for循环取list的数值。
for i in test:
if i=='ABC':
print 'The result is right'
⑻ python中的for循环取list中的第i 个值值
如果一定要用循环写,是这么写的
lis=['a','b','c']
for i in lis:
if i=='b':
print(i)
⑼ Python for循环生成列表的实例
Python for循环生成列表的实例
一般Python for语句前不加语句,但我在机器学习实战中看到了这两条语句:
featList = [example[i] for example in dataSet]
classList = [example[-1] for example in dataSet]
多方研究和询问,得到如下解释:
语句featList = [example[i] for example in dataSet]作用为:
将dataSet中的数据按行依次放入example中,然后取得example中的example[i]元素,放入列表featList中
语句classList = [example[-1] for example in dataSet]作用为:
将dataSet中的数据按行依次放入example中,然后取得example中的example[-1]元素,放入列表classList中
总而言之,类似上述两种for循环形式可以很方便地用来创建列表,如下例:
list_0 = [x*x for x in range(5)]
print(list_0)
#输出:
#[0, 1, 4, 9, 16]
以上这篇Python for循环生成列表的实例就是小编分享给大家的全部内容了
⑽ python list操作
就是用类型转换啊
for i in list:
list2[int(float(i[0])*10)]=i
print list2