python基础2之字符串、列表、字典、集合

内容概要:

一、python2 or 3

二、字符串拼接

三、字符串

四、列表、元祖

五、字典

六、集合

七、练习

 一、python2 or python3

目前大多使用python2.7,随着时间的推移,python3将会成为python爱好者的主流。

python2和3区别:

1.PRINT IS A FUNCTION

1 Old: print "The answer is", 2*2 New: print("The answer is", 2*2)
2 Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline
3 Old: print # Prints a newline
4 New: print() # You must call the function!
5 Old: print >>sys.stderr, "fatal error" New: print("fatal error", file=sys.stderr)
6 Old: print (x, y) # prints repr((x, y))
7 New: print((x, y)) # Not the same as print(x, y)!

2.某些库名改变

例如:

2.x 3.x
_winreg winreg
copy_reg copyreg
Queue queue
SockerServer sockerserver
repr reprlib

3.ALL IS UNICODE NOW

所有的字符编码变为unicode

二、字符串拼接

方法一:使用“+”(不推荐)

原因:python中的字符串在C语言中体现为是一个字符数组,每次创建字符串时候需要在内存中开辟一块连续的空,并且一旦需要修改字符串的话,就需要再次开辟空间,万恶的+号每出现一次就会在内从中重新开辟一块空间

1 name="su"
2 msg="my name is "+name
3 print(msg)
4 输出:
5 my name is su

方法二:使用格式化字符串

%s:字符串

%d:整数

%f:浮点数

1 name="su"
2 age=25
3 job="IT"
4 msg="my name is %s age %d job %s"%(name,age,job)
5 print(msg)
6 输出:
7 my name is su age 25 job IT

方法三:使用format进行格式化输出(变量名替换)

 1 name="su"
 2 age=25
 3 job="IT"
 4 msg=‘‘‘my name is:{_name}
 5         age is: {_age}
 6         job is: {_job}‘‘‘.format(_name=name,_age=age,_job=job)
 7 print(msg)
 8 输出:
 9 my name is:su
10         age is: 25
11         job is: IT

或者:(位置替换)

 1 name="su"
 2 age=25
 3 job="IT"
 4 msg=‘‘‘my name is:{0}
 5         age is: {1}
 6         job is: {2}‘‘‘.format(name,age,job)
 7 print(msg)
 8 输出:
 9 my name is:su
10         age is: 25
11         job is: IT

总结:对比以上三种方法,使用+方式进行拼接字符串会开辟较多的内存空间,效率低,推荐使用第二种和第三种方法。

三、字符串

1.字符串常用操作

 1 name = "my \tname is {name} and i am {year} old"
 2 print(name.capitalize())#首字母大写
 3 print(name.count("a"))
 4 print(name.center(50,"-"))#不够50字符,“-”补全
 5 print(name.endswith("ex"))#判断是否ex结尾
 6 print(name.expandtabs(tabsize=30))
 7 print(name[name.find("name"):])
 8   name is {name} and i am {year} old
 9 print(name.format(name=‘alex‘,year=23))
10 print(name.format_map(  {‘name‘:‘alex‘,‘year‘:12}  ))
11 print(‘ab23‘.isalnum())
12 print(‘abA‘.isalpha())
13 print(‘1A‘.isdecimal())
14 print(‘1A‘.isdigit()) #是否为数字
15 print(‘a 1A‘.isidentifier()) #判读是不是一个合法的标识符
16 print(‘33A‘.isnumeric())
17 print(‘My Name Is  ‘.istitle())
18 print(‘My Name Is  ‘.isprintable()) #tty file ,drive file
19 print(‘My Name Is  ‘.isupper())
20 print(‘+‘.join( [‘1‘,‘2‘,‘3‘])  )
21 print( name.ljust(50,‘*‘)  )
22 print( name.rjust(50,‘-‘)  )
23 print( ‘Alex‘.lower()  )#字符串变为小写字母
24 print( ‘Alex‘.upper()  )#字符串变为大写字母
25 print( ‘\nAlex‘.lstrip()  )
26 print( ‘Alex\n‘.rstrip()  )
27 print( ‘    Alex\n‘.strip()  )
28 p = str.maketrans("abcdefli",‘[email protected]‘)
29 print("alex li".translate(p) )
30
31 print(‘alex li‘.replace(‘l‘,‘L‘,1))
32 print(‘alex lil‘.rfind(‘l‘))
33 print(‘1+2+3+4‘.split(‘\n‘))#变为列表
34   [‘1+2+3+4‘]
35 print(‘1+2\n+3+4‘.splitlines())
36 print(‘Alex Li‘.swapcase())
37 print(‘lex li‘.title())
38 print(‘lex li‘.zfill(50))

  • 移除空白(strip)
  • 分割(split)
  • 长度(len)
  • 索引(index)
  • 切片

字符串对方法如下:

  1 class str(basestring):
  2     """
  3     str(object=‘‘) -> string
  4
  5     Return a nice string representation of the object.
  6     If the argument is a string, the return value is the same object.
  7     """
  8     def capitalize(self):
  9         """ 首字母变大写 """
 10         """
 11         S.capitalize() -> string
 12
 13         Return a copy of the string S with only its first character
 14         capitalized.
 15         """
 16         return ""
 17
 18     def center(self, width, fillchar=None):
 19         """ 内容居中,width:总长度;fillchar:空白处填充内容,默认无 """
 20         """
 21         S.center(width[, fillchar]) -> string
 22
 23         Return S centered in a string of length width. Padding is
 24         done using the specified fill character (default is a space)
 25         """
 26         return ""
 27
 28     def count(self, sub, start=None, end=None):
 29         """ 子序列个数 """
 30         """
 31         S.count(sub[, start[, end]]) -> int
 32
 33         Return the number of non-overlapping occurrences of substring sub in
 34         string S[start:end].  Optional arguments start and end are interpreted
 35         as in slice notation.
 36         """
 37         return 0
 38
 39     def decode(self, encoding=None, errors=None):
 40         """ 解码 """
 41         """
 42         S.decode([encoding[,errors]]) -> object
 43
 44         Decodes S using the codec registered for encoding. encoding defaults
 45         to the default encoding. errors may be given to set a different error
 46         handling scheme. Default is ‘strict‘ meaning that encoding errors raise
 47         a UnicodeDecodeError. Other possible values are ‘ignore‘ and ‘replace‘
 48         as well as any other name registered with codecs.register_error that is
 49         able to handle UnicodeDecodeErrors.
 50         """
 51         return object()
 52
 53     def encode(self, encoding=None, errors=None):
 54         """ 编码,针对unicode """
 55         """
 56         S.encode([encoding[,errors]]) -> object
 57
 58         Encodes S using the codec registered for encoding. encoding defaults
 59         to the default encoding. errors may be given to set a different error
 60         handling scheme. Default is ‘strict‘ meaning that encoding errors raise
 61         a UnicodeEncodeError. Other possible values are ‘ignore‘, ‘replace‘ and
 62         ‘xmlcharrefreplace‘ as well as any other name registered with
 63         codecs.register_error that is able to handle UnicodeEncodeErrors.
 64         """
 65         return object()
 66
 67     def endswith(self, suffix, start=None, end=None):
 68         """ 是否以 xxx 结束 """
 69         """
 70         S.endswith(suffix[, start[, end]]) -> bool
 71
 72         Return True if S ends with the specified suffix, False otherwise.
 73         With optional start, test S beginning at that position.
 74         With optional end, stop comparing S at that position.
 75         suffix can also be a tuple of strings to try.
 76         """
 77         return False
 78
 79     def expandtabs(self, tabsize=None):
 80         """ 将tab转换成空格,默认一个tab转换成8个空格 """
 81         """
 82         S.expandtabs([tabsize]) -> string
 83
 84         Return a copy of S where all tab characters are expanded using spaces.
 85         If tabsize is not given, a tab size of 8 characters is assumed.
 86         """
 87         return ""
 88
 89     def find(self, sub, start=None, end=None):
 90         """ 寻找子序列位置,如果没找到,返回 -1 """
 91         """
 92         S.find(sub [,start [,end]]) -> int
 93
 94         Return the lowest index in S where substring sub is found,
 95         such that sub is contained within S[start:end].  Optional
 96         arguments start and end are interpreted as in slice notation.
 97
 98         Return -1 on failure.
 99         """
100         return 0
101
102     def format(*args, **kwargs): # known special case of str.format
103         """ 字符串格式化,动态参数,将函数式编程时细说 """
104         """
105         S.format(*args, **kwargs) -> string
106
107         Return a formatted version of S, using substitutions from args and kwargs.
108         The substitutions are identified by braces (‘{‘ and ‘}‘).
109         """
110         pass
111
112     def index(self, sub, start=None, end=None):
113         """ 子序列位置,如果没找到,报错 """
114         S.index(sub [,start [,end]]) -> int
115
116         Like S.find() but raise ValueError when the substring is not found.
117         """
118         return 0
119
120     def isalnum(self):
121         """ 是否是字母和数字 """
122         """
123         S.isalnum() -> bool
124
125         Return True if all characters in S are alphanumeric
126         and there is at least one character in S, False otherwise.
127         """
128         return False
129
130     def isalpha(self):
131         """ 是否是字母 """
132         """
133         S.isalpha() -> bool
134
135         Return True if all characters in S are alphabetic
136         and there is at least one character in S, False otherwise.
137         """
138         return False
139
140     def isdigit(self):
141         """ 是否是数字 """
142         """
143         S.isdigit() -> bool
144
145         Return True if all characters in S are digits
146         and there is at least one character in S, False otherwise.
147         """
148         return False
149
150     def islower(self):
151         """ 是否小写 """
152         """
153         S.islower() -> bool
154
155         Return True if all cased characters in S are lowercase and there is
156         at least one cased character in S, False otherwise.
157         """
158         return False
159
160     def isspace(self):
161         """
162         S.isspace() -> bool
163
164         Return True if all characters in S are whitespace
165         and there is at least one character in S, False otherwise.
166         """
167         return False
168
169     def istitle(self):
170         """
171         S.istitle() -> bool
172
173         Return True if S is a titlecased string and there is at least one
174         character in S, i.e. uppercase characters may only follow uncased
175         characters and lowercase characters only cased ones. Return False
176         otherwise.
177         """
178         return False
179
180     def isupper(self):
181         """
182         S.isupper() -> bool
183
184         Return True if all cased characters in S are uppercase and there is
185         at least one cased character in S, False otherwise.
186         """
187         return False
188
189     def join(self, iterable):
190         """ 连接 """
191         """
192         S.join(iterable) -> string
193
194         Return a string which is the concatenation of the strings in the
195         iterable.  The separator between elements is S.
196         """
197         return ""
198
199     def ljust(self, width, fillchar=None):
200         """ 内容左对齐,右侧填充 """
201         """
202         S.ljust(width[, fillchar]) -> string
203
204         Return S left-justified in a string of length width. Padding is
205         done using the specified fill character (default is a space).
206         """
207         return ""
208
209     def lower(self):
210         """ 变小写 """
211         """
212         S.lower() -> string
213
214         Return a copy of the string S converted to lowercase.
215         """
216         return ""
217
218     def lstrip(self, chars=None):
219         """ 移除左侧空白 """
220         """
221         S.lstrip([chars]) -> string or unicode
222
223         Return a copy of the string S with leading whitespace removed.
224         If chars is given and not None, remove characters in chars instead.
225         If chars is unicode, S will be converted to unicode before stripping
226         """
227         return ""
228
229     def partition(self, sep):
230         """ 分割,前,中,后三部分 """
231         """
232         S.partition(sep) -> (head, sep, tail)
233
234         Search for the separator sep in S, and return the part before it,
235         the separator itself, and the part after it.  If the separator is not
236         found, return S and two empty strings.
237         """
238         pass
239
240     def replace(self, old, new, count=None):
241         """ 替换 """
242         """
243         S.replace(old, new[, count]) -> string
244
245         Return a copy of string S with all occurrences of substring
246         old replaced by new.  If the optional argument count is
247         given, only the first count occurrences are replaced.
248         """
249         return ""
250
251     def rfind(self, sub, start=None, end=None):
252         """
253         S.rfind(sub [,start [,end]]) -> int
254
255         Return the highest index in S where substring sub is found,
256         such that sub is contained within S[start:end].  Optional
257         arguments start and end are interpreted as in slice notation.
258
259         Return -1 on failure.
260         """
261         return 0
262
263     def rindex(self, sub, start=None, end=None):
264         """
265         S.rindex(sub [,start [,end]]) -> int
266
267         Like S.rfind() but raise ValueError when the substring is not found.
268         """
269         return 0
270
271     def rjust(self, width, fillchar=None):
272         """
273         S.rjust(width[, fillchar]) -> string
274
275         Return S right-justified in a string of length width. Padding is
276         done using the specified fill character (default is a space)
277         """
278         return ""
279
280     def rpartition(self, sep):
281         """
282         S.rpartition(sep) -> (head, sep, tail)
283
284         Search for the separator sep in S, starting at the end of S, and return
285         the part before it, the separator itself, and the part after it.  If the
286         separator is not found, return two empty strings and S.
287         """
288         pass
289
290     def rsplit(self, sep=None, maxsplit=None):
291         """
292         S.rsplit([sep [,maxsplit]]) -> list of strings
293
294         Return a list of the words in the string S, using sep as the
295         delimiter string, starting at the end of the string and working
296         to the front.  If maxsplit is given, at most maxsplit splits are
297         done. If sep is not specified or is None, any whitespace string
298         is a separator.
299         """
300         return []
301
302     def rstrip(self, chars=None):
303         """
304         S.rstrip([chars]) -> string or unicode
305
306         Return a copy of the string S with trailing whitespace removed.
307         If chars is given and not None, remove characters in chars instead.
308         If chars is unicode, S will be converted to unicode before stripping
309         """
310         return ""
311
312     def split(self, sep=None, maxsplit=None):
313         """ 分割, maxsplit最多分割几次 """
314         """
315         S.split([sep [,maxsplit]]) -> list of strings
316
317         Return a list of the words in the string S, using sep as the
318         delimiter string.  If maxsplit is given, at most maxsplit
319         splits are done. If sep is not specified or is None, any
320         whitespace string is a separator and empty strings are removed
321         from the result.
322         """
323         return []
324
325     def splitlines(self, keepends=False):
326         """ 根据换行分割 """
327         """
328         S.splitlines(keepends=False) -> list of strings
329
330         Return a list of the lines in S, breaking at line boundaries.
331         Line breaks are not included in the resulting list unless keepends
332         is given and true.
333         """
334         return []
335
336     def startswith(self, prefix, start=None, end=None):
337         """ 是否起始 """
338         """
339         S.startswith(prefix[, start[, end]]) -> bool
340
341         Return True if S starts with the specified prefix, False otherwise.
342         With optional start, test S beginning at that position.
343         With optional end, stop comparing S at that position.
344         prefix can also be a tuple of strings to try.
345         """
346         return False
347
348     def strip(self, chars=None):
349         """ 移除两段空白 """
350         """
351         S.strip([chars]) -> string or unicode
352
353         Return a copy of the string S with leading and trailing
354         whitespace removed.
355         If chars is given and not None, remove characters in chars instead.
356         If chars is unicode, S will be converted to unicode before stripping
357         """
358         return ""
359
360     def swapcase(self):
361         """ 大写变小写,小写变大写 """
362         """
363         S.swapcase() -> string
364
365         Return a copy of the string S with uppercase characters
366         converted to lowercase and vice versa.
367         """
368         return ""
369
370     def title(self):
371         """
372         S.title() -> string
373
374         Return a titlecased version of S, i.e. words start with uppercase
375         characters, all remaining cased characters have lowercase.
376         """
377         return ""
378
379     def translate(self, table, deletechars=None):
380         """
381         转换,需要先做一个对应表,最后一个表示删除字符集合
382         intab = "aeiou"
383         outtab = "12345"
384         trantab = maketrans(intab, outtab)
385         str = "this is string example....wow!!!"
386         print str.translate(trantab, ‘xm‘)
387         """
388
389         """
390         S.translate(table [,deletechars]) -> string
391
392         Return a copy of the string S, where all characters occurring
393         in the optional argument deletechars are removed, and the
394         remaining characters have been mapped through the given
395         translation table, which must be a string of length 256 or None.
396         If the table argument is None, no translation is applied and
397         the operation simply removes the characters in deletechars.
398         """
399         return ""
400
401     def upper(self):
402         """
403         S.upper() -> string
404
405         Return a copy of the string S converted to uppercase.
406         """
407         return ""
408
409     def zfill(self, width):
410         """方法返回指定长度的字符串,原字符串右对齐,前面填充0。"""
411         """
412         S.zfill(width) -> string
413
414         Pad a numeric string S with zeros on the left, to fill a field
415         of the specified width.  The string S is never truncated.
416         """
417         return ""
418
419     def _formatter_field_name_split(self, *args, **kwargs): # real signature unknown
420         pass
421
422     def _formatter_parser(self, *args, **kwargs): # real signature unknown
423         pass
424
425     def __add__(self, y):
426         """ x.__add__(y) <==> x+y """
427         pass
428
429     def __contains__(self, y):
430         """ x.__contains__(y) <==> y in x """
431         pass
432
433     def __eq__(self, y):
434         """ x.__eq__(y) <==> x==y """
435         pass
436
437     def __format__(self, format_spec):
438         """
439         S.__format__(format_spec) -> string
440
441         Return a formatted version of S as described by format_spec.
442         """
443         return ""
444
445     def __getattribute__(self, name):
446         """ x.__getattribute__(‘name‘) <==> x.name """
447         pass
448
449     def __getitem__(self, y):
450         """ x.__getitem__(y) <==> x[y] """
451         pass
452
453     def __getnewargs__(self, *args, **kwargs): # real signature unknown
454         pass
455
456     def __getslice__(self, i, j):
457         """
458         x.__getslice__(i, j) <==> x[i:j]
459
460                    Use of negative indices is not supported.
461         """
462         pass
463
464     def __ge__(self, y):
465         """ x.__ge__(y) <==> x>=y """
466         pass
467
468     def __gt__(self, y):
469         """ x.__gt__(y) <==> x>y """
470         pass
471
472     def __hash__(self):
473         """ x.__hash__() <==> hash(x) """
474         pass
475
476     def __init__(self, string=‘‘): # known special case of str.__init__
477         """
478         str(object=‘‘) -> string
479
480         Return a nice string representation of the object.
481         If the argument is a string, the return value is the same object.
482         # (copied from class doc)
483         """
484         pass
485
486     def __len__(self):
487         """ x.__len__() <==> len(x) """
488         pass
489
490     def __le__(self, y):
491         """ x.__le__(y) <==> x<=y """
492         pass
493
494     def __lt__(self, y):
495         """ x.__lt__(y) <==> x<y """
496         pass
497
498     def __mod__(self, y):
499         """ x.__mod__(y) <==> x%y """
500         pass
501
502     def __mul__(self, n):
503         """ x.__mul__(n) <==> x*n """
504         pass
505
506     @staticmethod # known case of __new__
507     def __new__(S, *more):
508         """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
509         pass
510
511     def __ne__(self, y):
512         """ x.__ne__(y) <==> x!=y """
513         pass
514
515     def __repr__(self):
516         """ x.__repr__() <==> repr(x) """
517         pass
518
519     def __rmod__(self, y):
520         """ x.__rmod__(y) <==> y%x """
521         pass
522
523     def __rmul__(self, n):
524         """ x.__rmul__(n) <==> n*x """
525         pass
526
527     def __sizeof__(self):
528         """ S.__sizeof__() -> size of S in memory, in bytes """
529         pass
530
531     def __str__(self):
532         """ x.__str__() <==> str(x) """
533         pass
534
535 str

四、列表、元祖

1.列表(list)

列表常用操作:

索引(index)

1 a=["a","b","c",1,2,3]
2 print(a.index("a"))#不加位置参数
3 输出:
4 0
5 a=["a","b","c","a",2,3]
6 print(a.index("b",1,5))#从索引1开始到5之间查找
7 输出:
8 1

切片(顾首不顾尾)

 1 >>> names = ["Alex","Tenglan","Eric","Rain","Tom","Amy"]
 2 >>> names[1:4]  #取下标1至下标4之间的数字,包括1,不包括4
 3 [‘Tenglan‘, ‘Eric‘, ‘Rain‘]
 4 >>> names[1:-1] #取下标1至-1的值,不包括-1
 5 [‘Tenglan‘, ‘Eric‘, ‘Rain‘, ‘Tom‘]
 6 >>> names[0:3]
 7 [‘Alex‘, ‘Tenglan‘, ‘Eric‘]
 8 >>> names[:3] #如果是从头开始取,0可以忽略,跟上句效果一样
 9 [‘Alex‘, ‘Tenglan‘, ‘Eric‘]
10 >>> names[3:] #如果想取最后一个,必须不能写-1,只能这么写
11 [‘Rain‘, ‘Tom‘, ‘Amy‘]
12 >>> names[3:-1] #这样-1就不会被包含了
13 [‘Rain‘, ‘Tom‘]
14 >>> names[-3:-1] #取最后两个效果同names[3:4]
15 [‘Tom‘,‘Amy‘]
16 >>> names[0::2] #后面的2是代表,每隔一个元素,就取一个
17 [‘Alex‘, ‘Eric‘, ‘Tom‘]
18 >>> names[::2] #和上句效果一样
19 [‘Alex‘, ‘Eric‘, ‘Tom‘]

追加(append)

1 a=["a","b","c","a",2,3]
2 a.append("SU")
3 print(a)
4 输出:
5 [‘a‘, ‘b‘, ‘c‘, ‘a‘, 2, 3, ‘SU‘]

删除(del,pop)

 1 a=["a","b","c","d"]
 2 del a[0]
 3 print(a)
 4 输出:
 5 [‘b‘, ‘c‘, ‘d‘]
 6
 7 #pop
 8
 9 a=["a","b","c","d"]
10 a.pop()
11 print(a)#默认移除最后一个
12 输出:
13 [‘a‘, ‘b‘, ‘c‘]
14 #移除指定位置元素
15 a=["a","b","c","d"]
16 a.pop(2)#移除位置2的元素等价del a[2]
17 print(a)
18 输出:
19 [‘a‘, ‘b‘, ‘d‘]

插入(insert)

1 a=["a","b","c","a",2,3]
2 a.insert(0,"WD")#0代表索引,在0位置之前插入
3 print(a)
4 输出:
5 [‘WD‘, ‘a‘, ‘b‘, ‘c‘, ‘a‘, 2, 3]

扩展(extend)#列表的相加

1 a=["a","b","c"]
2 b=[1,2,3]
3 a.extend(b)
4 print(a)
5 输出:
6 [‘a‘, ‘b‘, ‘c‘, 1, 2, 3]

统计元素数量(count)  反序(reverse)

1 >>> names
2 [‘Alex‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘, ‘1‘, ‘2‘, ‘3‘]
3 >>> names.sort()
4 >>> names
5 [‘1‘, ‘2‘, ‘3‘, ‘Alex‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘]
6
7 >>> names.reverse() #反转
8 >>> names
9 [‘Tom‘, ‘Tenglan‘, ‘Amy‘, ‘Amy‘, ‘Alex‘, ‘3‘, ‘2‘, ‘1‘]

排序(sort)

 1 >>> names
 2 [‘Alex‘, ‘Tenglan‘, ‘Amy‘, ‘Tom‘, ‘Amy‘, 1, 2, 3]
 3 >>> names.sort() #排序
 4 Traceback (most recent call last):
 5   File "<stdin>", line 1, in <module>
 6 TypeError: unorderable types: int() < str()   #3.0里不同数据类型不能放在一起排序了
 7 >>> names[-3] = ‘1‘
 8 >>> names[-2] = ‘2‘
 9 >>> names[-1] = ‘3‘
10 >>> names
11 [‘Alex‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘, ‘1‘, ‘2‘, ‘3‘]
12 >>> names.sort()
13 >>> names
14 [‘1‘, ‘2‘, ‘3‘, ‘Alex‘, ‘Amy‘, ‘Amy‘, ‘Tenglan‘, ‘Tom‘]
15
16 >>> names.reverse() #反转
17 >>> names
18 [‘Tom‘, ‘Tenglan‘, ‘Amy‘, ‘Amy‘, ‘Alex‘, ‘3‘, ‘2‘, ‘1‘]

时间: 2024-10-13 20:23:07

python基础2之字符串、列表、字典、集合的相关文章

python基础一 -------如何在列表字典集合中根据条件筛选数据

如何在列表字典集合中根据条件筛选数据 一:列表 先随机生成一个列表,过滤掉负数 1,普通for循环迭代判断 2,filter()函数判断,filter(函数,list|tuple|string) 1 filter(lambda x:x>0,data) 3,列表推倒式 4,效率对比:还是列表推导式稍高 二:字典 1,跟列表类似,推导式 先生成随机的字典(key从1-20) 过滤掉value是负数的值 三:集合 随机生成10个元素的集合 过滤掉小于0的元素,跟字典类似

python数据类型详解及列表字典集合推导式详解

一.运算符 Python语言支持以下类型的运算符: 算术运算符 如: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 print(a + b) 比较运算符 例: #!/usr/bin/env python # -*- coding:utf-8 -*- a = 5 b = 6 if a < b: print(True) else: print(False) 赋值运算符 例: #!/usr/bin/env python # -*- c

Python基础【数据结构:列表 | 元组 | 集合 | 字典】

序列 序列是Python中最基本的数据结构.包括字符串,列表,元组,Unicode字符串,buffer对象,xrange对象.序列中的每个元素都分配一个数字,即它的索引第一个索引是0,第二个索引是1,依此类推. 列表和元组 列表一个方括号内的逗号分隔值列表中可以存放不同的数据类型. 例:[1,1.2,True,'str',[2,False]]元组与列表类似,不同之处在于元组的元素不能修改.元组使用小括号,列表使用方括号. 例:(1,1.2,True,'str',[2,False]) 列表和元组的

python :列表 字典 集合 类 ----局部变量可以改全局变量

#列表 字典 集合 类 ----局部变量可以改全局变量,除了整数和字符串 names=["alex","jack","luck"] def func(names): names[0]='金角大王' print("inside name:" ,names) func(names) print (names) #字符串 name='jack' name1=name name='jack_chen' print(name,name1

Python基础数据类型之字符串

Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >>> str1 = 'hello' >>> str2 = "hello" >>> str3 = '''hello''' >>> str4 = """hello""" &g

[Python学习笔记1]Python语言基础 数学运算符 字符串 列表

这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档:http://docs.python.org/.在此向文档编辑者致谢.请勿将本文用于商业用途. 一.Python语言介绍 首先,Python是一种广泛应用的通用高级编程语言,具有较高的抽象层次,支持面向对象的编程方法.其具有高级的数据结构和许多方便的库文件,可以完成文件IO.系统调用.网络编程,甚至

Python基础系列----序列(列表、元组、字符串)

1.定义                                                                                               1.数据结构:通过某种方式组织在一起的数据元素的集合.这些数据元素可以说数字或者字符,甚至可以是其他数据结构.在python中,最基本的数据结构是序列. 2.索引:序列中的每个元素被分配一个序号.注意索引默认从0开始. 在python中,内建了6中序列:列表.元组.字符串.unicode字符串.buf

Python学习之路——Python基础之基本数据类型(列表、元组和字典)

基本数据类型 数字 字符串 列表 list 元组 tuple 字典 dict 布尔值 bool 列表和元组 列表:有序,元素可以被修改元组: 书写格式:元组的一级元素不可被修改,不能被增加或者删除,一般写元租的时候,推荐在最后加入',' 索引:v = tu[0] 切片:v = tu[0:2] 可以被for循环,可迭代对象: for item in tu 转换:str <--> list <--> tupleTips:元组中嵌套的列表的元素可以被修改 字典 dict: info =

列表字符串元组字典集合

列表字符串元组字典 一.列表 1.li.append() #添加元素到末尾,返回none 2.li.clear() #一个比较危险的方法(QAQ) 3.li.copy() #复制 不是同一个对象(内存地址不一样) 4.li.count() #计算列表里的元素出现的次数 5.li.extend([]) #可迭代的参数 6.li.index() #默认返回元素第一次出现的位置,可以添加查找范围 7.li.insert() #指定索引插入元素 8.li.pop() #默认删除最后一个元素,可以指定索引

python基础数据类型----整数 ,字符串【常用操作方法】,布尔值,for循环

Python基础数据类型(4.29) bool str int 三者之间的转换 str索引切片,常用操作方法 for循环(大量的练习题) 1.基础数类型总览 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). 10203 123 3340 int 主要用于计算+- * / 等等 '今天吃了没?' str 存储少量的数据,并进行相应的操作.str1 + str2, str *int , 索引,切片, 其他操作方法 Tru